﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Furion.Application
{
    public interface IUserAuthService
    {
        Task<LoginOutput> Login(LoginInput input);

        Task<Jscode2sessionResponse> GetOpenId(string code);


        Task<dynamic> GetUserPhoneNumber(WxPara para);


        Task<WxUserPhone> GetPhoneNumber(string code);


        Task<WeiXinLoginOutput> Register(RegisterInput input);

        Task<WeiXinLoginOutput> WeiXinLogin(WxPara para);


        Task<WeiXinLoginOutput> AutoLogin([Required] string OpenId);


        Task<ValidateOutput> ValidateLogin(ValidateInput input);

        Task<bool> ValidateExists(long Id);
    }
}
